package com.supeng.PMdepot.adapter.bak;

import android.graphics.drawable.AnimationDrawable;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;

import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.supeng.PMdepot.R;
import com.supeng.PMdepot.entity.bak.been.ImageBeen;
import com.supeng.PMdepot.util.ImageLoaderUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Supeng on 2018/8/23.
 */
//Caption been
public class AddBaoXiuAddAdapterBAK extends BaseMultiItemQuickAdapter<MultiItemEntity,BaseViewHolder> {
    public static final int TYPE_LEVEL_IMAGE = 0;
    public static final int TYPE_LEVEL_ADUIO = 1;
    public static final int TYPE_LEVEL_ADD= 2;
    public static final int TYPE_LEVEL_ADD_VOICE= 3;
    List<AnimationDrawable> mAnimationDrawables;
    int pos = -1;//标记当前录音索引，默认没有播放任何一个
    public AddBaoXiuAddAdapterBAK(List data) {
        super(data);
        addItemType(TYPE_LEVEL_IMAGE, R.layout.layout_add_baoxiu_item);
        addItemType(TYPE_LEVEL_ADUIO, R.layout.layout_add_baoxiu_aduio_item);
        addItemType(TYPE_LEVEL_ADD, R.layout.layout_add_baoxiu_add_item);
        addItemType(TYPE_LEVEL_ADD_VOICE, R.layout.layout_add_baoxiu_add_voice_item);
        mAnimationDrawables = new ArrayList<>();
    }
    private void resetAnim(AnimationDrawable animationDrawable) {
        if (!mAnimationDrawables.contains(animationDrawable)) {
            mAnimationDrawables.add(animationDrawable);
        }
        for (AnimationDrawable ad : mAnimationDrawables) {
            ad.selectDrawable(0);
            ad.stop();
        }
    }

    @Override
    protected void convert(final BaseViewHolder holder, MultiItemEntity itemTemp) {
        switch (holder.getItemViewType()) {
            case TYPE_LEVEL_IMAGE:
                final ImageBeen item= (ImageBeen) itemTemp;
                ImageLoaderUtil.loadImage(mContext,item.getPath(),(ImageView) holder.getView(R.id.fiv));
                holder.getView(R.id.ll_del).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        int index = holder.getAdapterPosition();
                        // 这里有时会返回-1造成数据下标越界,具体可参考getAdapterPosition()源码，
                        // 通过源码分析应该是bindViewHolder()暂未绘制完成导致，知道原因的也可联系我~感谢
                        if (index != RecyclerView.NO_POSITION) {
                            getData().remove(index);
                            notifyItemRemoved(index);
                            //notifyItemRangeChanged(index, getData().size());
                        }
                    }
                });
                break;
            case TYPE_LEVEL_ADUIO:
//                final AduioBeen aduioBeen= (AduioBeen) itemTemp;
//                holder.getView(R.id.ll_del).setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        int index = holder.getAdapterPosition();
//                        // 这里有时会返回-1造成数据下标越界,具体可参考getAdapterPosition()源码，
//                        // 通过源码分析应该是bindViewHolder()暂未绘制完成导致，知道原因的也可联系我~感谢
//                        if (index != RecyclerView.NO_POSITION) {
//                            getData().remove(index);
//                            notifyItemRemoved(index);
//                            //notifyItemRangeChanged(index, getData().size());
//                        }
//                    }
//                });
//                final int position= holder.getAdapterPosition();
//                holder.setText(R.id.tv_miao,aduioBeen.getSecond() <= 0 ? 1 + "''" : aduioBeen.getSecond() + "''");
//                final View ivAudio=holder.getView(R.id.iv_audio);
//                ivAudio.setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        //只要点击就设置为已播放状态（隐藏小红点）
//                        aduioBeen.setPlayed(true);
//                        final AnimationDrawable animationDrawable = (AnimationDrawable) ivAudio.getBackground();
//                        //重置动画
//                        resetAnim(animationDrawable);
//                        animationDrawable.start();
//
//                        //处理点击正在播放的语音时，可以停止；再次点击时重新播放。
//                        if (pos == position) {
//                            if (aduioBeen.isPlaying()) {
//                                aduioBeen.setPlaying(false);
//                                MediaManager.release();
//                                animationDrawable.stop();
//                                animationDrawable.selectDrawable(0);//reset
//                                return;
//                            } else {
//                                aduioBeen.setPlaying(true);
//                            }
//                        }
//                        //记录当前位置正在播放。
//                        pos = position;
//                        aduioBeen.setPlaying(true);
//
//                        //播放前重置。
//                        MediaManager.release();
//                        //开始实质播放
//                        MediaManager.playSound(aduioBeen.getPath(),
//                                new MediaPlayer.OnCompletionListener() {
//                                    @Override
//                                    public void onCompletion(MediaPlayer mp) {
//                                        animationDrawable.selectDrawable(0);//显示动画第一帧
//                                        animationDrawable.stop();
//
//                                        //播放完毕，当前播放索引置为-1。
//                                        pos = -1;
//                                    }
//                                });
//                    }
//                });
                break;
            case TYPE_LEVEL_ADD:
                holder.addOnClickListener(R.id.iv_add);
                break;
            case TYPE_LEVEL_ADD_VOICE:

//                //最大上传6条语音
//                if (getData().size() > 7) {
//                    return;
//                }
//                ((AudioRecordButton)holder.getView(R.id.btn_arb)).setAudioFinishRecorderListener(new AudioRecordButton.AudioFinishRecorderListener() {
//                    @Override
//                    public void onFinished(float seconds, String filePath) {
//                       // int index = holder.getAdapterPosition();
//                        AduioBeen recordModel = new AduioBeen();
//                        recordModel.setSecond((int) seconds <= 0 ? 1 : (int) seconds);
//                        recordModel.setPath(filePath);
//                        recordModel.setPlayed(false);
//                        getData().add(getData().size()-1,recordModel);
//                        notifyItemInserted(getData().size()-1);
//                    }
//                });
                break;
        }

    }
}
